package com.ssy.lingxi.order.model.vo.basic.response;

import com.ssy.lingxi.order.model.bo.DeliveryPlanDayBO;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * 查询订单列表时返回的VO
 * @author 万宁
 * @version 2.0.0
 * @date 2021-07-15
 */
public class DeliveryPlanProductQueryVO implements Serializable {


    public DeliveryPlanProductQueryVO(Long skuId, String productName, String category, String brand, String unit) {
        this.skuId = String.valueOf(skuId);
        this.productName = productName;
        this.category = category;
        this.brand = brand;
        this.unit = unit;
    }

    public DeliveryPlanProductQueryVO(String productName, String spec, String category, String brand, String unit,String productNo) {
        this.skuId = productNo;
        this.productName = productName;
        this.spec = spec;
        this.category = category;
        this.brand = brand;
        this.unit = unit;
        this.productNo = productNo;
    }

    public DeliveryPlanProductQueryVO(Long skuId) {
        this.skuId = String.valueOf(skuId);
    }

    public DeliveryPlanProductQueryVO(String productNo) {
        this.productNo = productNo;
    }

    public DeliveryPlanProductQueryVO() {
    }

    /**
     * 商品skuId/物料编号
     */
    private String skuId;

    /**
     * 商品编号
     */
    private String productNo;

    /**
     * 订单商品记录表id
     */
    private Long orderProductId;

    /**
     * 商品名称/物料名称
     */
    private String productName;

    /**
     * 规格型号
     */
    private String spec;

    /**
     * 品类
     */
    private String category;

    /**
     * 品牌
     */
    private String brand;

    /**
     * 单位
     */
    private String unit;

    /**
     * 订单数量
     */
    private BigDecimal purchaseCountSum;

    /**
     * 收货数量
     */
    private BigDecimal receiveCountSum;

    /**
     * 在途数量
     */
    private BigDecimal transitCountSum;

    /**
     * 待送货数量
     */
    private BigDecimal leftCountSum;

    /**
     * 计划送货数量
     */
    private BigDecimal planCountSum;

    /**
     * 未计划送货数量
     */
    private BigDecimal unplannedCountSum;

    /**
     * 计划送货物料订单详情集合
     */
    private List<DeliveryPlanOrderQueryVO> orders;

    /**
     * 计划送货物料订单日期详情 key-天数 value-数量
     */
    private Map<String,BigDecimal> dayNumbers;

    /**
     * 序号
     */
    private Integer no;

    public BigDecimal getUnplannedCountSum() {
        return unplannedCountSum;
    }

    public void setUnplannedCountSum(BigDecimal unplannedCountSum) {
        this.unplannedCountSum = unplannedCountSum;
    }

    public Integer getNo() {
        return no;
    }

    public void setNo(Integer no) {
        this.no = no;
    }

    public Long getOrderProductId() {
        return orderProductId;
    }

    public String getProductNo() {
        return productNo;
    }

    public void setProductNo(String productNo) {
        this.productNo = productNo;
    }

    public void setOrderProductId(Long orderProductId) {
        this.orderProductId = orderProductId;
    }

    public Map<String,BigDecimal> getDayNumbers() {
        return dayNumbers;
    }

    public void setDayNumbers(Map<String,BigDecimal> dayNumbers) {
        this.dayNumbers = dayNumbers;
    }

    public List<DeliveryPlanOrderQueryVO> getOrders() {
        return orders;
    }

    public void setOrders(List<DeliveryPlanOrderQueryVO> orders) {
        this.orders = orders;
    }

    public String getSkuId() {
        return skuId;
    }

    public void setSkuId(String skuId) {
        this.skuId = skuId;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getSpec() {
        return spec;
    }

    public void setSpec(String spec) {
        this.spec = spec;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public BigDecimal getPurchaseCountSum() {
        return purchaseCountSum;
    }

    public void setPurchaseCountSum(BigDecimal purchaseCountSum) {
        this.purchaseCountSum = purchaseCountSum;
    }

    public BigDecimal getReceiveCountSum() {
        return receiveCountSum;
    }

    public void setReceiveCountSum(BigDecimal receiveCountSum) {
        this.receiveCountSum = receiveCountSum;
    }

    public BigDecimal getTransitCountSum() {
        return transitCountSum;
    }

    public void setTransitCountSum(BigDecimal transitCountSum) {
        this.transitCountSum = transitCountSum;
    }

    public BigDecimal getLeftCountSum() {
        return leftCountSum;
    }

    public void setLeftCountSum(BigDecimal leftCountSum) {
        this.leftCountSum = leftCountSum;
    }

    public BigDecimal getPlanCountSum() {
        return planCountSum;
    }

    public void setPlanCountSum(BigDecimal planCountSum) {
        this.planCountSum = planCountSum;
    }
}
